package com.ssy.lingxi.pay.api.model.vo.request;

import javax.validation.constraints.*;
import java.io.Serializable;

/**
 * 授信支付VO
 * @author 伍将
 * @date 2020/8/28
 * @version 2.0.0
 */
public class CreditPayVO implements Serializable {
    private static final long serialVersionUID = -6517411813097270649L;

    /**
     * 会员id
     */
    @NotNull(message = "会员id要大于0")
    @Positive(message = "会员id要大于0")
    private Long memberId;

    /**
     * 角色id
     */
    @NotNull(message = "角色id要大于0")
    @Positive(message = "角色授信id要大于0")
    private Long roleId;

    /**
     * 父级会员id
     */
    @NotNull(message = "会员id要大于0")
    @Positive(message = "会员id要大于0")
    private Long parentMemberId;

    /**
     * 父级会员角色id
     */
    @NotNull(message = "角色id要大于0")
    @Positive(message = "角色授信id要大于0")
    private Long parentMemberRoleId;

    /**
     * 支付金额
     */
    @NotNull(message = "支付金额要大于等于0")
    @PositiveOrZero(message = "支付金额要大于等于0")
    private Double payMoney;

    /**
     * 支付订单编码
     */
    @NotBlank(message = "支付订单编码不能为空")
    @Size(max = 20, message = "支付订单编码最长20个字符")
    private String orderCode;

    /**
     * 支付密码
     */
    @NotBlank(message = "支付订单编码不能为空")
    private String payPassword;

    /**
     * 备注
     */
    @Size(max = 150, message = "备注最长20个字符")
    private String remark;

    public Long getMemberId() {
        return memberId;
    }

    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    public Long getRoleId() {
        return roleId;
    }

    public void setRoleId(Long roleId) {
        this.roleId = roleId;
    }

    public Double getPayMoney() {
        return payMoney;
    }

    public void setPayMoney(Double payMoney) {
        this.payMoney = payMoney;
    }

    public String getOrderCode() {
        return orderCode;
    }

    public void setOrderCode(String orderCode) {
        this.orderCode = orderCode;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Long getParentMemberId() {
        return parentMemberId;
    }

    public void setParentMemberId(Long parentMemberId) {
        this.parentMemberId = parentMemberId;
    }

    public Long getParentMemberRoleId() {
        return parentMemberRoleId;
    }

    public void setParentMemberRoleId(Long parentMemberRoleId) {
        this.parentMemberRoleId = parentMemberRoleId;
    }

    public String getPayPassword() {
        return payPassword;
    }

    public void setPayPassword(String payPassword) {
        this.payPassword = payPassword;
    }
}
